package com.study.kt._04project.game_tank.business

import com.study.kt._04project.game_tank.model.View

/**
 * 具有攻击能力的View:子弹
 */
interface Attachable : View {

    //子弹不能攻击所有者，定义一个子弹所有者的view
    var owner: View

    //具有攻击力的View有攻击力
    val attachPower: Int

    /**
     * 是否与被攻击物体发生碰撞
     */
    fun isCollision(sufferable: Sufferable): Boolean

    /**
     * 被通知与被攻击物体发生碰撞
     */
    fun notifyAttach(sufferable: Sufferable)
}